<?php
/**
 * Created by PhpStorm.
 * User: Garfield
 * Date: 2021/12/1
 * Time: 13:25
 */

if (! function_exists('sendSMS')) {
    function sendSMS($phone, $msg)
    {
        $params = [
            'mobile'=>$phone,
            'msg'=>$msg,
            'channel'=>env('SMS_CHANNEL',''),
            'sign' => md5(env('SMS_CHANNEL','') . env('SMS_KEY',''))
        ];
        $http = new \GuzzleHttp\Client;
        $post = $http->post(env('SMS_URL',''),['form_params'=>$params]);
        return $post;
    }
}


if (! function_exists('rand_code')) {
    /**
     * @param int $type 1:纯数字 2：数字+小写字母 3：数字+大写字母 4：数字+字母
     * @param int $len
     */
    function rand_code($type=1,$len=4){
        $str='';
        switch ($type){
            case 1:
                $str = '0123456789';
                break;
            case 2:
                $str = '0123456789abcdefghijklmnopqrstuvwxyz';
                break;
            case 3:
                $str = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
                break;
            case 4:
                $str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
                break;
            default:
                break;
        }

        $str = str_shuffle($str);
        $str = substr($str,0,$len);
        return $str;
    }
}

if (! function_exists('uri_fill')) {
    function uri_fill($uri,$type='oss'){
        if($type=='oss'){
            return env('OSS_URL','').$uri;
        }
    }
}


/**
 
 * 把数字1-1亿换成汉字表述，如：123->一百二十三
 * @param [num] $num [数字]
 * @return [string] [string]
 */
function numToWord($num)
{
    $chiNum = array('零', '一', '二', '三', '四', '五', '六', '七', '八', '九');
    $chiUni = array('','十', '百', '千', '万', '亿', '十', '百', '千');
    $chiStr = '';
    $num_str = (string)$num;
    $count = strlen($num_str);
    $last_flag = true; //上一个 是否为0
    $zero_flag = true; //是否第一个
    $temp_num = null; //临时数字
    $chiStr = '';//拼接结果
    if ($count == 2) {//两位数
        $temp_num = $num_str[0];
        $chiStr = $temp_num == 1 ? $chiUni[1] : $chiNum[$temp_num].$chiUni[1];
        $temp_num = $num_str[1];
        $chiStr .= $temp_num == 0 ? '' : $chiNum[$temp_num];
    }else if($count > 2){
        $index = 0;
        for ($i=$count-1; $i >= 0 ; $i--) {
            $temp_num = $num_str[$i];
            if ($temp_num == 0) {
                if (!$zero_flag && !$last_flag ) {
                    $chiStr = $chiNum[$temp_num]. $chiStr;
                    $last_flag = true;
                }
            }else{
                $chiStr = $chiNum[$temp_num].$chiUni[$index%9] .$chiStr;
                $zero_flag = false;
                $last_flag = false;
                }
            $index ++;
        }
    }else{
        $chiStr = $chiNum[$num_str[0]];
    }
    return $chiStr;
    }
